Return real error code from Xen /dev/mem, not EAGAIN.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 13 Feb 2006 16:41:23 +0000 (17:41 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Mon, 13 Feb 2006 16:41:23 +0000 (17:41 +0100)
Signed-off-by: Keir Fraser <keir@xensource.com>
linux-2.6-xen-sparse/drivers/xen/char/mem.c

index 14989e7043c31808b2a55b75465a333ccac1c4d8..36101743580b3f08f5156bce3a206bc2a50344d1 100644 (file)
@@ -96,12 +96,9 @@ static int mmap_mem(struct file * file, struct vm_area_struct * vma)
        if (uncached_access(file))
                vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
 
-       if (direct_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
-                                  size,
-                                  vma->vm_page_prot, DOMID_IO))
-               return -EAGAIN;
-
-       return 0;
+       /* We want to return the real error code, not EAGAIN. */
+       return direct_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
+                                     size, vma->vm_page_prot, DOMID_IO);
 }
 
 /*